package VideoRent.Articulo;

import java.util.*;

import VideoRent.Articulo.*;
import VideoRent.Enum.*;

/**
 * Clase que especifica los atributos y métodos de los juegos recreativos ofrecidos
 * por la videotienda
 */
public class JuegoRecreativo extends ArticuloInteractivo{
    private static int diasPrestamo = 2;
    private static int montoBase = 12;
    private static int montoMulta = 10;
    private static int precioVenta = 250;
    //Nombre del desarrollador del juego
    private String desarrollador;
    //Genero del juego
    private GeneroJuego genero;

    /**
     * Constructor de la clase
     * @param cantidad Cantidad de elementos de la instancia actualmente en inventario
     * @param plataforma Plataforma en la cual debe ser utilizado el juego
     * @param desarrollador Nombre del desarrollador del juego
     * @param genero Genero del juego
     */
    public JuegoRecreativo(String codigo, String nombre, int cantidad, String plataforma, String desarrollador, GeneroJuego genero, int ano){
        super(codigo, nombre, cantidad, ano, plataforma);
        this.desarrollador = desarrollador;
        this.genero = genero;
    }

    //Lista de 'getters' para obtener los valores de los atributos de la clase

    public int getDiasPrestamo(){return JuegoRecreativo.diasPrestamo;}
    public int getMontoBase(){return JuegoRecreativo.montoBase;}
    public int getMontoMulta(){return JuegoRecreativo.montoMulta;}
    public int getPrecioVenta(){return JuegoRecreativo.precioVenta;}
    public String getDesarrollador(){return this.desarrollador;}
    public GeneroJuego getGenero(){return this.genero;}

    //Lista de 'setters' para asignar los valores de los atributos de la clase

    public void setDesarrollador(String a){this.desarrollador = a;}
    public void setGenero(GeneroJuego a){this.genero = a;}


    public String toString(){
        return getCodigo() + " & " +
               getCantidad() + " & " +
               getNombre() + " & " +
               getGenero() + " & " +
               getPlataforma() + " & " +
               getDesarrollador() + " & " +
               getAno();
    }
}
